var express = require('express');
var router = express.Router();
//导入用户模型
const UserModel = require("../../models/UserModel")
const md5 = require("md5");
//注册
router.get('/reg',(req,res)=>{
  //响应html
  res.render('auth/reg')
})
//注册用户
router.post('/reg',(req,res)=>{
  //这里还要验证表单
  //获取请求体数据
  //console.log(req.body)
  UserModel.create({...req.body,password:md5(req.body.password)}).then((data)=>{
    res.render('success',{msg:'注册成功',url:'/login'});
  }).catch((result)=>{
    res.status(500).send('注册失败，请稍后再试');
  })
})
//登录页面
router.get('/login',(req,res)=>{
  //响应html内容
  res.render('auth/login');
});
//登录操作
router.post('/login',(req,res)=>{
  //获取用户名和密码
  let {username,password} = req.body;
  //查询数据库
  UserModel.findOne({username:username,password:md5(password)}).then((data)=>{
    //没有匹配结果data返回null,有则返回匹配对象
    if(!data){
      return res.send('账号或密码错误')
    }
    //写入session,将数据库文档里的username，_id赋值给数据库里的session
    req.session.username = data.username;
    req.session._id = data._id;
    //登录成功响应
    res.render('success',{msg:'登录成功',url:'/account'})
  }).catch((result)=>{
    res.status(500).send('登录失败，请稍后再试')
  })
});
//退出登录
//要改成post
router.get('/logout',(req,res)=>{
  req.session.destroy(()=>{
    res.render('success',{'msg':'退出成功',url:'/login'})
  })
})
module.exports = router;
